package com.ruoyi.mall.common.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 团购活动对象 dts_groupon
 * 
 * @author ruoyi
 * @date 2025-03-11
 */
public class DtsGroupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 参与人数 */
    private Long grouponId;

    /** 团购折扣 */
    @Excel(name = "团购折扣")
    private Long rulesId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 创建者ID */
    private Long creatorUserId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 分享图片 */
    @Excel(name = "分享图片")
    private String shareUrl;

    /** 是否已经支付 */
    private Integer payed;

    /** 逻辑删除 */
    private Integer deleted;

    private DtsGrouponRules rules;

    private DtsUser user;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setGrouponId(Long grouponId) 
    {
        this.grouponId = grouponId;
    }

    public Long getGrouponId() 
    {
        return grouponId;
    }
    public void setRulesId(Long rulesId) 
    {
        this.rulesId = rulesId;
    }

    public Long getRulesId() 
    {
        return rulesId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCreatorUserId(Long creatorUserId) 
    {
        this.creatorUserId = creatorUserId;
    }

    public Long getCreatorUserId() 
    {
        return creatorUserId;
    }
    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }
    public void setShareUrl(String shareUrl) 
    {
        this.shareUrl = shareUrl;
    }

    public String getShareUrl() 
    {
        return shareUrl;
    }
    public void setPayed(Integer payed) 
    {
        this.payed = payed;
    }

    public Integer getPayed() 
    {
        return payed;
    }
    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

    public DtsGrouponRules getRules() {
        return rules;
    }

    public void setRules(DtsGrouponRules rules) {
        this.rules = rules;
    }

    public DtsUser getUser() {
        return user;
    }

    public void setUser(DtsUser user) {
        this.user = user;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("grouponId", getGrouponId())
            .append("rulesId", getRulesId())
            .append("userId", getUserId())
            .append("creatorUserId", getCreatorUserId())
            .append("addTime", getAddTime())
            .append("updateTime", getUpdateTime())
            .append("shareUrl", getShareUrl())
            .append("payed", getPayed())
            .append("deleted", getDeleted())
            .toString();
    }
}
